package cn.duhengkui.national.valuelist.core.data;

import java.sql.Timestamp;
import java.util.Date;

import cn.duhengkui.national.valuelist.core.entity.BaseEntity;



/**   
 * <table border="1">
 *	<tr><td>包名称：</td><td>cn.duhengkui.national.valuelist.core.data</td></tr>
 *	<tr><td>类名称：</td><td>ReadOnlyDao</td></tr>
 *	<tr><td>类描述：</td><td>只读DAO</td></tr>
 *	<tr><td>创建人：</td><td>杜恒奎</td></tr>
 *  <tr><td>创建时间：</td><td>2018年6月7日/下午2:43:17</td></tr> 
 *  <tr><td>版本：</td><td>1.0.0</td></tr>
 * </table>   
 *     
 */
public interface ReadOnlyDao<Entity extends BaseEntity> {

	/**
	 * 获取数据库系统时间
	 * @return
	 */
	Date getDataBaseTime();
	
	/**
	 * 获取数据库系统时间
	 * @return
	 */
	Timestamp getDataBaseTimestamp();
	
	/**
	 * 根据主键查询记录
	 * @param entity 实体对象，需要设置主键，地址引用，执行方法后可直接从该实体对象中获取数据
	 */
	void load(final Entity entity);
	
	
	/**
	 * 根据主键查询记录（锁记录）
	 * @param entity 实体对象，需要设置主键，地址引用，执行方法后可直接从该实体对象中获取数据
	 */
	void loadForUpdate(final Entity entity);
	
}
